package model;

import java.io.Serializable;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@NamedQueries( { @NamedQuery(name = "InsumoMantencion.findAll", query = "select o from InsumoMantencion o") })
@Table(name = "INSUMO_MANTENCION")
@IdClass(InsumoMantencionPK.class)
public class InsumoMantencion implements Serializable {
    @Column(nullable = false)
    private BigDecimal cantidad;
    @Column(name = "ESTADO_PEDIDO", nullable = false, length = 20)
    private String estadoPedido;
    @Id
    @Column(name = "ID_DET_MANTENCION", nullable = false, insertable = false, updatable = false)
    private BigDecimal idDetMantencion;
    @Id
    @Column(name = "ID_IN_TALLER", nullable = false, insertable = false, updatable = false)
    private BigDecimal idInTaller;
    @Column(name = "UNI_MEDIDA", length = 20)
    private String uniMedida;
    @ManyToOne
    @JoinColumn(name = "ID_IN_TALLER")
    private InsumoTaller insumoTaller;
    @ManyToOne
    @JoinColumn(name = "ID_DET_MANTENCION")
    private DetalleMantencion detalleMantencion1;

    public InsumoMantencion() {
    }

    public InsumoMantencion(BigDecimal cantidad, String estadoPedido, DetalleMantencion detalleMantencion1,
                            InsumoTaller insumoTaller, String uniMedida) {
        this.cantidad = cantidad;
        this.estadoPedido = estadoPedido;
        this.detalleMantencion1 = detalleMantencion1;
        this.insumoTaller = insumoTaller;
        this.uniMedida = uniMedida;
    }

    public BigDecimal getCantidad() {
        return cantidad;
    }

    public void setCantidad(BigDecimal cantidad) {
        this.cantidad = cantidad;
    }

    public String getEstadoPedido() {
        return estadoPedido;
    }

    public void setEstadoPedido(String estadoPedido) {
        this.estadoPedido = estadoPedido;
    }

    public BigDecimal getIdDetMantencion() {
        return idDetMantencion;
    }

    public void setIdDetMantencion(BigDecimal idDetMantencion) {
        this.idDetMantencion = idDetMantencion;
    }

    public BigDecimal getIdInTaller() {
        return idInTaller;
    }

    public void setIdInTaller(BigDecimal idInTaller) {
        this.idInTaller = idInTaller;
    }

    public String getUniMedida() {
        return uniMedida;
    }

    public void setUniMedida(String uniMedida) {
        this.uniMedida = uniMedida;
    }

    public InsumoTaller getInsumoTaller() {
        return insumoTaller;
    }

    public void setInsumoTaller(InsumoTaller insumoTaller) {
        this.insumoTaller = insumoTaller;
        if (insumoTaller != null) {
            this.idInTaller = insumoTaller.getIdInsumosTaller();
        }
    }

    public DetalleMantencion getDetalleMantencion1() {
        return detalleMantencion1;
    }

    public void setDetalleMantencion1(DetalleMantencion detalleMantencion1) {
        this.detalleMantencion1 = detalleMantencion1;
        if (detalleMantencion1 != null) {
            this.idDetMantencion = detalleMantencion1.getIdDetMantencion();
        }
    }
}
